查看原文
其他

IJCAI 2021|基于镜子的高精度低成本三维人体姿态识别


【导 读】

本文是对发表于人工智能国际知名会议 IJCAI 2021的论文 “Learning 3-D Human Pose Estimation from Catadioptric Videos”的解读。

该论文由北京大学王选所穆亚东研究团队完成,针对当前三维人体姿态估计任务中,数据及其标注信息获取不易的问题,提出了一种基于折反射系统、融合了极线几何、物理先验、以及机器学习的解决思路。实验证明该方法所获取的数据集能覆盖更多真实场景的视觉变化,从而得到具有更强泛化能力的三维人体姿态估计模型。该技术在智能健身、运动捕捉等领域具有广泛的用途。


1

研究背景

三维人体姿态估计是计算机视觉领域的经典任务,旨在从视觉信号中精确估算人体关节点的三维坐标。现有的人体三维姿态数据集的采集方法大致可以分为三种:

(1)使用与视频同步的基于传感器的商业运动捕获系统收集人体三维姿态数据,例如HumanEva、Human3.6M和GPA等。这类数据主要在室内收集,需要演员穿着便于记录数据的紧身衣;

(2)为了克服基于传感器收集数据的人体衣着的限制,一些无传感器收集数据的方法被提出。MPI-INF-3DHP数据提出了一种无传感器的运动捕获系统,该系统使用多台摄像机在一个具有绿幕的圆顶摄影工作室进行多视角的数据采集。这种无需传感器的系统能够使数据集中演员的服装更加多样化;

(3)合成数据,使用一些游戏引擎生成动画人物的三维数据。这种方式采集到的数据往往缺乏真实性。使用合成数据训练得到的模型,往往在真实的测试数据集上表现出相对较差的泛化性能。



图1:基于折反射成像系统的三维人体姿态估计(参考文献[1])示意图

本文[1]首次提出了一种基于折反射成像系统(如图1中所示的健身或舞蹈场景中的立镜和相机共同组成的系统)的技术。利用折反射成像系统来估计人体关节点的深度主要有两个挑战:首先,如Shree Nayar等人指出,折反射系统中至少需要两面反射镜才能进行相机校准和三维估计,而社交网络上的折反射视频(如Youtube或者Bilibili上的舞蹈视频)只有一面镜子。其次,舞蹈视频是在现实场景下采集的,通常存在一定的遮挡,这大大增加了获取可靠的人体二维关节点的难度。与基于传感器的系统不同,通过以上方式获得的人体姿态往往噪声较大,需要对这些数据做进一步的细化。

本文提出引入机器学习和人体骨架先验(如对称性)来消除极线几何计算中的不确定性,能够对相机参数进行近似求解,并推断不可见的人体关节点的三维位置。在场景中只存在单面立镜的情况下,仍然取得极高的人体姿态估计精度。相关技术在智能健身等场景中具有广阔的应用价值,该文构建了当前最大的三维人体姿态估计的数据集DBM (dance-before-mirror)。

2

算法的具体流程

2.1

二维关节点位置获取


我们使用在MS-COCO人体二维关节点检测数据上预训练的HR-Net模型来检测图像中每个人的17个二维关节点pi = (xi, yi, si),其中 (xi, yi)是像素坐标,si是置信度得分。在得到的数据中,通常会出现自遮挡的情况,我们简单地使用置信度得分来区分每个关节点的这档情况。当si < α时,关节点被标记为遮挡。当这个视频片段中的遮挡点数目大于N时,视频段被判断为严重遮挡,这类视频会被过滤掉。


图2:本文所采用的折反射系统的成像模型

2.2

几何模型


本方法使用的几何模型如附图2所示。假设O为相机光心,π为折反射视频中的反射镜,为反射镜添加虚拟相机表示(图中O’)。假设世界坐标系与相机坐标系是对齐的。平面镜π可以由法向量n以及一个非负标量d ≥ 0表示,其中d代表镜面π和光心O之间的正交距离。让P代表不在镜子上的空间上的任意一点。P’是其在空间中的反射点。P和P’之间的关系如下:

其中R和t的计算方式如下,其中E是单位矩阵。

假定相机的光心在图像中心的上方,近似地得到以下形式的相机内参矩阵:

使用p, p’分表表示P, P’对应的像素坐标。对于针孔相机模型,它们之间的关系可以表示为:

其中Z,Z’分表表示P,P’的z轴坐标。

对于空间中的任意一点P,可以证明如下关系成立:

其中,


2.3

人体遮挡关节点的推断


为了恢复被遮挡的二维人体关节点,我们首先将人体关节点分为两类:躯干关节点和四肢关节点。躯干关节点主要包括头部、颈部、肩膀和臀部,四肢关节点包括肘部、腕部、膝盖以及脚踝。当人体移动时,躯干部分的运动通常较慢,四肢往往会快速摆动。基于此观察结果,我们使用不同的策略分别对两类关节点进行精细化调整。对于移动较慢的躯干关节点,我们使用时序滤波平滑来优化被遮挡的关节点。对于四肢关节点,我们通过使用联合极线几何约束和人体骨骼先验约束来对遮挡的人体关节点进行推断。在单镜面反射系统中,图3中的点e是一个极点。根据折反射系统和极点(Epipole)的性质,连接两个匹配点(例如,任何一对p, p’)的所有直线都将在极点e处相交。如果拍摄视频的相机在视野中是可见的,那么该极点的位置恰好位于相机所在的位置。


图3:基于极线几何和人体先验来推断被遮挡的关节点


图4:人体关节点被遮挡的6种情况

为了对遮挡的关节点进行优化,我们首先需要估算出极点在图像中的位置。在一个相机位置固定的视频中,极点的位置在所以视频帧中保持不变。在实践中,我们选择了一些具有较高置信度得分的匹配点,获得每组匹配点之间的连线,然后计算任意两条连线之间的交点,从而获得候选极点的位置,然后计算所有候选极点坐标的中位数,以此作为对极点位置的可靠估计。如图3所示,令e=(xe, ye)表示极点在图像中的像素坐标,(amr, aml, ar, al)作为手肘的表示,(wmr, wml, wr, wl)为手腕的表示。在不失一般性的情况下,假设wr被遮挡,同时模型估计出的二维关节点位置不准确,由于wmr没有被遮挡,同时wr应该位于极线上,所以我们有以下极线约束:

其中(xwr, ywr)是wr的候选像素坐标。对于没有被遮挡的点对(wl, wml), (al, aml)和(ar, amr),我们可以使用三角定位方法,计算出他们对应的三维坐标Wl,Al和Ar。一个基本的人体骨骼先验:人的左臂和右臂的长度应该是等长的。根据此先验我们可以写出以下等式:

其中 是指欧式距离,Wr是wr对应的三维坐标,在知道(xwr, ywr)之后可以通过三角定位获得。实际中,我们在极线上为(xwr, ywr)采集一些候选样本,保留一个同时满足公式(7)和公式(8)的最佳解。

图4展示了“肩膀-手肘”对对应的六种可能的遮挡情况。关于上述介绍的公式(7)和公式(8)的联合优化的解决方案,求解的是图4中的第二种情况(Case 2)。实际上,对于第三种以及第四种遮挡情况,也可以简化为第二种的有条件版本进行求解。为了解决其他几种类型遮挡关节点的推断问题,我们将人体肢体关节点分为“肩膀-手肘”、“手肘-手腕”、“臀部-膝盖”和“膝盖-脚踝”四种。除了“肩膀-手肘”使用上述方式对遮挡点进行推断外,其他三种情况也可以用同样的方式推断出图像中被遮挡的关节点。


3

参考文献

[1] Chenchen Liu, Yongzhi Li, Kangqi Ma, Duo Zhang, Peijun Bao, Yadong Mu*, Learning 3-D Human Pose Estimation from Catadioptric Videos, The 30th International Joint Conference on Artificial Intelligence (IJCAI) 2021.


北大王选所

2021年度优秀成果推介

—   版权声明  —

本微信公众号刊载的所有内容,由北京大学王选计算机研究所微信自身创作、收集的文字、图片和音视频资料,版权属北京大学王选计算机研究所所有;从公开渠道收集、整理及授权转载的文字、图片及音视频资料,版权属原作者。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存